body {
  background-color: transparent;
}
.layered-window {
  -webkit-app-region: drag;
}
.cat-container {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  transition: all 0.1s ease-in-out;
  display: flex;
  justify-content: center;
  align-items: center;
}

.cat {
  position: relative;
  top: 0;
  left: 0;
}

.head {
  position: relative;
  top: 20px;
  left: 0;
  width: 300px;
  height: 185px;
  background-color: #808080;
  border-radius: 50%;
  box-shadow: inset 0 -10px 15px 8px #666666;
  z-index: 2;
  animation: head-move 6s cubic-bezier(1, -1.6, 0.2, 2.41) infinite;
}

@keyframes head-move {
  0% {
    top: 20px;
    left: 0;
  }
  40% {
    top: 20px;
    left: 0;
  }
  45% {
    top: 45px;
    left: 5px;
  }
  85% {
    top: 45px;
    left: 5px;
  }
  90% {
    top: 20px;
    left: 0;
  }
  100% {
    top: 20px;
    left: 0;
  }
}

/* Outer Left Ear */
.head:after {
  content: "";
  position: absolute;
  top: -40px;
  left: 20px;
  z-index: -1;
  width: 0;
  border-right: 50px solid transparent;
  border-bottom: 90px solid #808080;
  border-left: 50px solid transparent;
  transform: rotate(-13deg);
}

/* Outer Right Ear */
.head:before {
  content: "";
  position: absolute;
  top: -40px;
  left: 190px;
  width: 0;
  border-right: 50px solid transparent;
  border-bottom: 90px solid #808080;
  border-left: 50px solid transparent;
  transform: rotate(20deg);
}

.ears {
  position: absolute;
  top: -20px;
  left: 49px;
  border-right: 20px solid transparent;
  border-bottom: 40px solid #fff;
  border-left: 20px solid transparent;
  border-radius: 40%;
  transform: rotate(-15deg);
}

.ears:after {
  content: "";
  position: absolute;
  top: 42px;
  left: 150px;
  width: 0;
  border-right: 20px solid transparent;
  border-bottom: 40px solid #fff;
  border-left: 20px solid transparent;
  border-radius: 40%;
  transform: rotate(35deg);
}

.ear-hair-left {
  position: absolute;
  top: -30px;
  left: -2px;
  width: 1px;
  height: 15px;
  background-color: #808080;
  transform: rotate(-30deg);
}

.ear-hair-left:after {
  content: "";
  position: absolute;
  left: -7px;
  width: 1px;
  height: 15px;
  background-color: #808080;
  transform: rotate(-30deg);
}

.ear-hair-right {
  position: absolute;
  top: 24px;
  left: 190px;
  width: 1px;
  height: 15px;
  background-color: #808080;
  transform: rotate(50deg);
}

.ear-hair-right:before {
  content: "";
  position: absolute;
  top: 0px;
  left: 4px;
  width: 1px;
  height: 15px;
  background-color: #808080;
  transform: rotate(30deg);
}

.ear-hair-right:after {
  content: "";
  position: absolute;
  top: 2px;
  left: 8px;
  width: 1px;
  height: 15px;
  background-color: #808080;
  transform: rotate(50deg);
}

.eyes {
  width: 70px;
  height: 90px;
  position: relative;
  top: 10px;
  left: 90px;
  background-color: #fff;
  border-radius: 50%;
}

.eyes:after {
  content: "";
  position: absolute;
  top: 0px;
  left: 60px;
  width: 70px;
  height: 90px;
  background-color: #fff;
  border-radius: 50%;
}

.eye-lids {
  position: absolute;
  top: 10px;
  left: 90px;
  width: 70px;
  height: 90px;
  background-color: #808080;
  border-radius: 50%;
  z-index: 2;
  opacity: 0;
  animation: blink 5s infinite;
}

.eye-lids:after {
  content: "";
  width: 70px;
  height: 90px;
  background-color: #808080;
  border-radius: 50%;
  position: absolute;
  top: 0px;
  left: 60px;
  z-index: 2;
  opacity: 0;
  animation: blink 5s infinite;
}

.eye-lids:before {
  content: "";
  width: 130px;
  height: 1px;
  background-color: #000;
  border-radius: 0%;
  position: absolute;
  top: 45px;
  left: 0px;
  z-index: 2;
  opacity: 0;
  animation: blink 5s infinite;
}

@keyframes blink {
  0% {
    opacity: 0;
  }
  48% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  52% {
    opacity: 0;
  }
  54% {
    opacity: 1;
  }
  56% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

.eye-balls {
  position: absolute;
  top: 30px;
  left: 120px;
  width: 15px;
  height: 20px;
  background-color: #000;
  border-radius: 50%;
  box-shadow: inset 3px -3px 5px 2px #333;
  animation: eyes-move 6s cubic-bezier(1, -1.6, 0.2, 2.41) infinite;
}

@keyframes eyes-move {
  0% {
    top: 30px;
    left: 125px;
    transform: scale(1);
  }
  40% {
    top: 30px;
    left: 125px;
    transform: scale(1);
  }
  45% {
    top: 65px;
    left: 130px;
    transform: scale(1);
  }
  50% {
    top: 65px;
    left: 130px;
    transform: scale(1);
  }
  52% {
    top: 65px;
    left: 130px;
    transform: scale(1.1);
  }
  85% {
    top: 65px;
    left: 130px;
    transform: scale(1.1);
  }
  90% {
    top: 30px;
    left: 125px;
    transform: scale(1);
  }
  100% {
    top: 30px;
    left: 125px;
    transform: scale(1);
  }
}

.eye-balls:after {
  content: "";
  width: 15px;
  height: 20px;
  background-color: #000;
  border-radius: 50%;
  position: absolute;
  left: 50px;
  box-shadow: inset 3px -3px 5px 2px #333;
}

.nose {
  width: 30px;
  height: 20px;
  background-color: #ff0099;
  box-shadow: 1px 3px 5px 4px #ff6699 inset;
  border-radius: 50%;
  position: absolute;
  top: 105px;
  left: 140px;
  z-index: 1;
  animation: nose-move 1.5s infinite;
  -webkit-app-region: no-drag;
}

@keyframes nose-move {
  0% {
    top: 105px;
  }
  20% {
    top: 104px;
  }
  60% {
    top: 105px;
  }
  100% {
    top: 105px;
  }
}

.mouth {
  width: 100px;
  height: 80px;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  top: 100px;
  left: 60px;
  box-shadow: inset 10px -10px 5px #e5e5e5;
  animation: cheek-move 1.5s linear infinite;
}

@keyframes cheek-move {
  0% {
    top: 100px;
  }
  10% {
    top: 99px;
  }
  60% {
    top: 100px;
  }
  100% {
    top: 100px;
  }
}

.mouth:before {
  content: "";
  width: 100px;
  height: 80px;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  top: 0px;
  left: 92px;
  box-shadow: inset -10px -10px 5px #e5e5e5;
}

.mouth-bottom {
  width: 30px;
  height: 15px;
  background-color: #000;
  border-radius: 50%;
  position: absolute;
  top: 142px;
  left: 140px;
  z-index: -1;
  animation: mouth-bottom 1.5s linear infinite;
}

@keyframes mouth-bottom {
  0% {
    top: 142px;
    left: 140px;
  }
  15% {
    top: 155px;
    left: 140px;
  }
  25% {
    top: 155px;
    left: 140px;
  }
  60% {
    top: 142px;
    left: 140px;
  }
  100% {
    top: 142px;
    left: 140px;
  }
}

.chin {
  position: relative;
  top: 75px;
  left: 137px;
  width: 35px;
  height: 15px;
  border-radius: 50%;
  border-bottom: 6px solid #666666;
  animation: chin-move 1.5s linear infinite;
}

@keyframes chin-move {
  0% {
    top: 75px;
    left: 137px;
  }
  15% {
    top: 80px;
    left: 137px;
  }
  25% {
    top: 80px;
    left: 137px;
  }
  60% {
    top: 75px;
    left: 137px;
  }
  100% {
    top: 75px;
    left: 137px;
  }
}

.hair-left {
  width: 70px;
  height: 90px;
  background-color: #808080;
  border-radius: 50%;
  position: absolute;
  left: 90px;
  top: -5px;
  z-index: -1;
}

.hair-right {
  width: 70px;
  height: 90px;
  background-color: #808080;
  border-radius: 50%;
  position: absolute;
  left: 150px;
  top: -5px;
  z-index: -1;
}

.whiskers-left {
  width: 40px;
  height: 1px;
  background-color: #000;
  transform: rotate(15deg);
  position: absolute;
  top: 110px;
  left: 60px;
}

.whiskers-left:before {
  content: "";
  width: 50px;
  height: 1px;
  background-color: #000;
  transform: rotate(-10deg);
  position: absolute;
  top: 15px;
  left: -9px;
}

.whiskers-left:after {
  content: "";
  width: 40px;
  height: 1px;
  background-color: #000;
  transform: rotate(-20deg);
  position: absolute;
  top: 30px;
  left: -5px;
}

.whiskers-right {
  width: 40px;
  height: 1px;
  background-color: #000;
  transform: rotate(-20deg);
  position: absolute;
  top: 110px;
  left: 220px;
}

.whiskers-right:before {
  content: "";
  width: 50px;
  height: 1px;
  background-color: #000;
  transform: rotate(12deg);
  position: absolute;
  top: 15px;
  left: 0px;
}

.whiskers-right:after {
  content: "";
  width: 40px;
  height: 1px;
  background-color: #000;
  transform: rotate(20deg);
  position: absolute;
  top: 26px;
  left: -5px;
}

.eyebrows {
  width: 40px;
  height: 2px;
  background-color: #000;
  transform: rotate(-30deg);
  position: absolute;
  top: 8px;
  left: 90px;
  animation: eyebrows-move 6s cubic-bezier(1, -1.6, 0.2, 2.41) infinite;
}

@keyframes eyebrows-move {
  0% {
    top: 8px;
    transform: rotate(-30deg);
  }
  50% {
    top: 8px;
    transform: rotate(-30deg);
  }
  52% {
    top: -3px;
    transform: rotate(-33deg);
  }
  85% {
    top: -3px;
    transform: rotate(-33deg);
  }
  90% {
    top: 8px;
    transform: rotate(-30deg);
  }
  100% {
    top: 8px;
    transform: rotate(-30deg);
  }
}

.eyebrows:after {
  content: "";
  width: 40px;
  height: 2px;
  background-color: #000;
  transform: rotate(70deg);
  position: absolute;
  top: 35px;
  left: 75px;
}

/******** Cat Body ********/

.cat-body {
  position: relative;
  top: 0;
  left: 0;
  width: 290px;
  height: 300px;
  background-color: #808080;
  border-radius: 50%;
  z-index: -3;
  animation: shoulder-raise 6s cubic-bezier(1, -1.6, 0.2, 2.41) infinite;
}

@keyframes shoulder-raise {
  0% {
    top: 0;
    left: 0;
    transform: scale(1);
  }
  40% {
    top: 0;
    left: 0;
    transform: scale(1);
  }
  45% {
    top: 0;
    left: 0;
    transform: scale(1);
  }
  50% {
    top: 0;
    left: 0;
    transform: scale(1);
  }
  52% {
    top: -3px;
    left: 0;
    transform: scale(1);
  }
  85% {
    top: -3px;
    left: 0;
    transform: scale(1);
  }
  90% {
    top: 0;
    left: 0;
    transform: scale(1);
  }
  100% {
    top: 0;
    left: 0;
    transform: scale(1);
  }
}

.cat-body:before {
  content: "";
  width: 200px;
  height: 300px;
  border-radius: 50%;
  background-color: #e8e8e8;
  box-shadow: 10px 10px 50px 20px #a0a0a0 inset;
  position: absolute;
  left: 45px;
}

.paw-left {
  width: 100px;
  height: 50px;
  background-color: #787878;
  border-radius: 40%;
  position: absolute;
  top: 270px;
  left: 30px;
  z-index: 2;
  box-shadow: inset 3px -3px 5px 2px #6c6c6c;
  animation: paw-left-move 6s cubic-bezier(1, -1.6, 0.2, 2.41) infinite;
}

@keyframes paw-left-move {
  0% {
    top: 270px;
    left: 30px;
    transform: scale(1);
  }
  40% {
    top: 270px;
    left: 30px;
    transform: scale(1);
  }
  45% {
    top: 270px;
    left: 27px;
    transform: scale(1);
  }
  50% {
    top: 270px;
    left: 27px;
    transform: scale(1);
  }
  52% {
    top: 250px;
    left: 27px;
    transform: scale(1.1) rotate(-10deg);
  }
  85% {
    top: 250px;
    left: 27px;
    transform: scale(1.1) rotate(-10deg);
  }
  90% {
    top: 270px;
    left: 30px;
    transform: scale(1);
  }
  100% {
    top: 270px;
    left: 30px;
    transform: scale(1);
  }
}

.paw-left:before {
  content: "";
  width: 2px;
  height: 20px;
  background-color: #000;
  position: absolute;
  top: 30px;
  left: 30px;
  opacity: 0.1;
}

.paw-left:after {
  content: "";
  width: 2px;
  height: 20px;
  background-color: #000;
  position: absolute;
  top: 30px;
  left: 65px;
  opacity: 0.1;
}

.paw-right {
  position: absolute;
  top: 270px;
  left: 160px;
  width: 100px;
  height: 50px;
  background-color: #787878;
  border-radius: 40%;
  z-index: 2;
  box-shadow: inset 3px -3px 5px 2px #6c6c6c;
  animation: paw-right-move 6s cubic-bezier(1, -1.6, 0.2, 2.41) infinite;
}

@keyframes paw-right-move {
  0% {
    top: 270px;
    left: 160px;
    transform: scale(1);
  }
  40% {
    top: 270px;
    left: 160px;
    transform: scale(1);
  }
  45% {
    top: 270px;
    left: 163px;
    transform: scale(1);
  }
  50% {
    top: 270px;
    left: 163px;
    transform: scale(1);
  }
  52% {
    top: 250px;
    left: 163px;
    transform: scale(1.1) rotate(10deg);
  }
  85% {
    top: 250px;
    left: 163px;
    transform: scale(1.1) rotate(10deg);
  }
  90% {
    top: 270px;
    left: 160px;
    transform: scale(1);
  }
  100% {
    top: 270px;
    left: 160px;
    transform: scale(1);
  }
}

.paw-right:before {
  content: "";
  width: 2px;
  height: 20px;
  background-color: #000;
  position: absolute;
  top: 30px;
  left: 30px;
  opacity: 0.1;
}

.paw-right:after {
  content: "";
  width: 2px;
  height: 20px;
  background-color: #000;
  position: absolute;
  top: 30px;
  left: 65px;
  opacity: 0.1;
}

.back-left-leg {
  width: 100px;
  height: 150px;
  background-color: gray;
  border-radius: 40%;
  transform: rotate(-30deg);
  -webkit-transform: rotate(-33deg);
  position: absolute;
  top: 130px;
  left: -5px;
  z-index: -2;
  box-shadow: inset 3px -3px 5px 2px #6c6c6c;
}

.back-left-leg:before {
  content: "";
  width: 100px;
  height: 50px;
  background-color: #808080;
  border-radius: 40%;
  transform: rotate(28deg);
  position: absolute;
  top: 110px;
  left: -52px;
  z-index: -1;
  box-shadow: inset 5px -5px 5px 2px #6c6c6c;
}

.back-right-leg {
  width: 100px;
  height: 150px;
  background-color: gray;
  border-radius: 40%;
  transform: rotate(32deg);
  position: absolute;
  top: 130px;
  left: 192px;
  z-index: -2;
  box-shadow: inset -5px -5px 5px 2px #6c6c6c;
}

.back-right-leg:before {
  content: "";
  width: 100px;
  height: 50px;
  background-color: #808080;
  border-radius: 40%;
  transform: rotate(-30deg);
  position: absolute;
  top: 105px;
  left: 55px;
  z-index: -1;
  box-shadow: inset -5px -5px 5px 2px #6c6c6c;
}

.tail {
  position: absolute;
  top: 220px;
  left: -80px;
  width: 200px;
  height: 70px;
  background-color: #888888;
  border-radius: 40%;
  z-index: -4;
}

.tail-front {
  width: 150px;
  height: 60px;
  background-color: #888888;
  border-radius: 40%;
  transform: rotate(50deg);
  position: absolute;
  top: 265px;
  left: -100px;
  z-index: 2;
  box-shadow: inset -40px -5px 13px 5px #6c6c6c;
}

.tail-poof {
  width: 70px;
  height: 50px;
  background-color: #c8c8c8;
  border-radius: 40%;
  transform: rotate(0deg);
  z-index: 2;
  position: absolute;
  top: 314px;
  left: -11px;
  animation: tail 2s linear infinite;
  box-shadow: inset 3px -6px 7px 2px #a0a0a0;
}

@keyframes tail {
  0% {
    top: 313px;
    left: -11px;
  }
  50% {
    top: 313.5px;
    left: -16px;
  }
  100% {
    top: 313px;
    left: -11px;
  }
}

.cat-shadow {
  width: 365px;
  height: 40px;
  background-color: transparent;
  border-radius: 50%;
  position: absolute;
  top: 238px;
  left: -35px;
  opacity: 0.4;
  z-index: -3;
  box-shadow: 0px 50px 17px #000;

  animation: shadow 6s cubic-bezier(1, -1.6, 0.2, 2.41) infinite;
}

@keyframes shadow {
  0% {
    top: 238px;
    transform: scale(1);
  }
  40% {
    top: 238px;
    transform: scale(1);
  }
  45% {
    top: 238px;
    transform: scale(1);
  }
  50% {
    top: 238px;
    transform: scale(1);
  }
  52% {
    top: 241px;
    transform: scale(1);
  }
  85% {
    top: 241px;
    transform: scale(1);
  }
  90% {
    top: 238px;
    transform: scale(1);
  }
  100% {
    top: 238px;
    transform: scale(1);
  }
}

.speech-bubble {
  position: absolute;
  top: 0;
  left: 330px;
  width: 180px;
  height: 100px;
  background-color: #fff;
  border-radius: 30%;
  opacity: 0;
  animation: meow-talk 5s linear infinite;
  filter: drop-shadow(10px 10px 24px #33223350);
}

.speech-bubble:after {
  content: "";
  position: absolute;
  top: 78px;
  left: 10px;
  width: 0;
  border-top: 20px solid transparent;
  border-left: 30px solid #fff;
  border-bottom: 20px solid transparent;
}

@keyframes meow-talk {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  20% {
    opacity: 1;
  }
  30% {
    opacity: 0;
  }
  60% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

.speech-bubble__meow {
  position: relative;
  top: 20px;
  left: 42px;
  text-transform: uppercase;
  font: 400 40px Oswald;
}

.cat-dish {
  position: relative;
  top: 0;
  left: 370px;
  width: 200px;
  height: 28px;
  background: linear-gradient(to right, #071011, #aaa);
  border-radius: 50%;
  border: 2px solid tomato;
}

/* Cat Dish Base */
.cat-dish:before {
  content: "";
  position: absolute;
  top: 15px;
  width: 200px;
  height: 60px;
  background-color: tomato;
  z-index: -1;
}

/* Cat Dish Bottom and Shadow */
.cat-dish:after {
  content: "";
  position: absolute;
  top: 55px;
  width: 200px;
  height: 40px;
  background-color: tomato;
  border-radius: 50%;
  z-index: -2;
  box-shadow: 0px 4px 10px #071011;
}

.cat-dish__label {
  position: relative;
  top: 35px;
  left: 50px;
  font: 400 2.6em Oswald;
  text-transform: uppercase;
  color: #fff;
  letter-spacing: 0.2em;
}

.oo-letters {
  position: relative;
  top: 3px;
}

@media screen and (max-width: 850px) {
  .cat-container {
    transform: scale(0.63);
  }
}
